﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using Abp.AutoMapper;
using Abp.Runtime.Validation;
using Abp.Extensions;
using LeadThing.AbpZeroTemplate.CameraManages;

namespace LeadThing.AbpZeroTemplate.CameraManages.Dtos
{
    /// <summary>
    /// 摄像机管理编辑用Dto
    /// </summary>
    [AutoMap(typeof(CameraManage))]
    public class CameraManageEditDto
    {

        /// <summary>
        ///   主键Id
        /// </summary>
        [DisplayName("主键Id")]
        public long? Id { get; set; }

        /// <summary>
        /// 摄像机名称
        /// </summary>
        [DisplayName("摄像机名称")]
        
        [MaxLength(100)]
        public string CameraName { get; set; }

        /// <summary>
        /// 故障联系人
        /// </summary>
        [DisplayName("故障联系人")]
        [MaxLength(50)]
        public string FaultContacts { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        [DisplayName("联系电话")]
        [MaxLength(50)]
        public string ContactNumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [DisplayName("备注")]
        [MaxLength(500)]
        public string Remarks { get; set; }

        /// <summary>
        /// 乡镇
        /// </summary>
        [DisplayName("乡镇")]
        [Required]
        public int TownID { get; set; }

        /// <summary>
        /// 社区
        /// </summary>
        [DisplayName("社区")]
        [Required]
        public int AreaID { get; set; }

        /// <summary>
        /// 村庄
        /// </summary>
        [DisplayName("村庄")]
        [Required]
        public int VillageID { get; set; }

        /// <summary>
        /// 摄像机ID
        /// </summary>
        [DisplayName("摄像机ID")]
        
        public string CameraId { get; set; }

        /// <summary>
        /// 在线状态
        /// </summary>
        [DisplayName("在线状态")]
        
        public string Status { get; set; }

        /// <summary>
        /// 通道类型
        /// </summary>
        [DisplayName("通道类型")]
        
        public string ChannelType { get; set; }

        /// <summary>
        /// ChannelSN
        /// </summary>
        [DisplayName("ChannelSN")]
        
        public string ChannelSN { get; set; }

        /// <summary>
        /// 设备权限
        /// </summary>
        [DisplayName("设备权限")]
        
        public string Rights { get; set; }

        /// <summary>
        /// 摄像机类型
        /// </summary>
        [DisplayName("摄像机类型")]
        
        public string CameraType { get; set; }

        /// <summary>
        /// CtrlId
        /// </summary>
        [DisplayName("CtrlId")]
        
        public string CtrlId { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        [DisplayName("纬度")]
        
        public string Latitude { get; set; }

        /// <summary>
        /// 经度
        /// </summary>
        [DisplayName("经度")]
        
        public string Longitude { get; set; }

        /// <summary>
        /// 域名
        /// </summary>
        [DisplayName("域名")]
        
        public string ViewDomain { get; set; }

        /// <summary>
        /// 摄像机功能
        /// </summary>
        [DisplayName("摄像机功能")]
        
        public string CameraFunctions { get; set; }

        /// <summary>
        /// 组播IP
        /// </summary>
        [DisplayName("组播IP")]
        
        public string MulticastIp { get; set; }

        /// <summary>
        /// 组播端口
        /// </summary>
        [DisplayName("组播端口")]
        
        public string MulticastPort { get; set; }

        /// <summary>
        /// NvrChnlIp
        /// </summary>
        [DisplayName("NvrChnlIp")]
        public string NvrChnlIp { get; set; }

        /// <summary>
        /// 通道遥控类型
        /// </summary>
        [DisplayName("通道遥控类型")]
        public string ChannelRemoteType { get; set; }

        /// <summary>
        /// SubMulticastIp
        /// </summary>
        [DisplayName("SubMulticastIp")]
        public string SubMulticastIp { get; set; }

        /// <summary>
        /// SubMulticastPort
        /// </summary>
        [DisplayName("SubMulticastPort")]
        public string SubMulticastPort { get; set; }

    }
}
